#pragma once

#ifndef _BINARY_HPP_
#define _BINARY_HPP_

#include "utils/pointer.hpp"

class Binary : public Counter
{
public:
	Binary( int size = 0 ) : size_( size ), data_( new char[size] ) {}
	Binary( char * buffer, int size ) : size_( size ), data_( data_ ) {}
	~Binary() { delete [] data_; }

	int size() { return size_; }
	char * data() { return data_; }

private:
	Binary & operator = ( Binary & bin );
private:
	int size_;
	char * data_;
};

typedef Pointer< Binary > BinaryPtr;

#endif
